The text field issue isn't too bad. In the field properties, you can set the class attributes and then use pre-defined CSS classes to control the appearance. Make sure that on the web version of the form, you have the field text attributes set to Black Default Sans Serif 10pt with no text attributes, and let the CSS do the job for you.
Using CSS with rich text fields is much trickier for various reasons. For some background on these issues, see my articles
Rich Text 101 - Text and
Rich Text 101 - Rich Text and my blog post
Odd behavior with CSS in Notes client.
The basic problem is that text in a rich text field has attributes embedded within the rich text itself, not in the form which contains the field. As the blog post points out, CSS in the Notes client sometimes overrides those attributes, but the Domino HTML generation is not smart enough to do so, so this is fairly non-functional.
You have limited choices, depending on how much control you have over the content.
You can force all the rich text to be Black Default Sans Serif 10pt Plain (no bold, etc.), in which case no font tags will be generated and your CSS will work on the web. Unfortunately, your rich text will be completely uniform, unless you embed some pass-thru HTML or otherwise mark off some of the rich text.
You can use exclusively HTML and control the CSS all you want, but you will have lost the whole benefit of and use of the Notes client.
You can keep two sets of data, one for Notes and one for the web, but there are serious synchronization issues.
If a third party product is an option, you can use a product such as our Midas Rich Text LSX to either enforce the formatting or generate the HTML with more control so your CSS will be honored. This is easy to do, but costs something.
I guess you get the point. CSS can only really be used when font tags are not generated, and with rich text, that is difficult. I would need to know more about what your needs are. Specifically, does this need to be viewed in the Notes client as well? If so, does it need to respect the CSS there? How much control do you have over your rich text?